//-------------------------------------------------------------------
//	Copyright (c) 2010-2012  Zhirnov Andrey
//	This file is part of the "UXGEN" project.
//	See copyright notice in "Engine.h".
//-------------------------------------------------------------------

#ifndef _UX_SCENE_ENUMS_H
#define _UX_SCENE_ENUMS_H

#include "Enums.h"

namespace Engine
{

// ----------------------- Scene Object Type ---------------------- //

namespace e_scene_object
{
	enum	type	: uint16
	{
		UNKNOWN		= 0,

		// default //
		NODE,
		COMPONENT,
		SYSTEM,
		SCENE,
	};
}

	
// ------------------------ Component Bits ----------------------- //

namespace e_component
{
	enum	type	: uint32
	{
		UNKNOWN		= 0,
		RENDERABLE	= 0x00000001,	// have render object or light
		PHYSICS		= 0x00000002,
		SOUND		= 0x00000004,
		CAMERA		= 0x00000008,
		AI			= 0x00000010,
		MANIPULATOR	= 0x00000020,	// change transform
		DESCRIPTION	= 0x00000040,
		HIERARCHY	= 0x00000080,
	};

	UX_ENUM_BIT_OPERATIONS( type, uint32 )
}

//-------------------------------------------------------------------

}	// Engine

#endif	// _UX_SCENE_ENUMS_H